package com.dingwei.lesyndrome.mvp.view;

import com.dingwei.lesyndrome.bean.AddressListBean;
import com.dingwei.lesyndrome.bean.CarTimeInfoBean;
import com.dingwei.lesyndrome.bean.CarTimeListBean;
import com.dingwei.lesyndrome.bean.CirclCommentListBean;
import com.dingwei.lesyndrome.bean.CircleDetailsBean;
import com.dingwei.lesyndrome.bean.GamCircleListBean;
import com.dingwei.lesyndrome.bean.GamCircleTypeBean;
import com.dingwei.lesyndrome.bean.HisCircleBean;
import com.dingwei.lesyndrome.bean.IdCodeBean;
import com.dingwei.lesyndrome.bean.LoginBean;
import com.dingwei.lesyndrome.bean.MainBean;
import com.dingwei.lesyndrome.bean.MyNewsBean;
import com.dingwei.lesyndrome.bean.NewsInfoBean;
import com.dingwei.lesyndrome.bean.NewsListBean;
import com.dingwei.lesyndrome.bean.CollectBean;
import com.dingwei.lesyndrome.bean.PeripheralDetailBean;
import com.dingwei.lesyndrome.bean.PersonalInfoBean;
import com.dingwei.lesyndrome.bean.SelectedMerchantsBean;
import com.dingwei.lesyndrome.bean.MyReleaseBean;
import com.dingwei.lesyndrome.bean.SiteInfoBean;
import com.lihao.baselibrary.base.baseView;

/**
 * Created by lihao on 2017/9/1.
 */

public class Contract {
    /**
     * 首页
     */
    public interface MainView extends baseView {

        void setData(MainBean bean);

        void onFail();
    }
    /**
     * 登录
     */
    public interface LoginView extends baseView {

        void loginSuccess(LoginBean bean);
    }
    /**
     * 注册
     */
    public interface RegisterView extends baseView {

        void CountDownTimerFinish();

        void CountDownTimerOnTick(long millisUntilFinished);

        void getCodeSuccess(IdCodeBean bean);

        void registerSuccess();
    }
    /**
     * 个人中心
     */
    public interface PersonalCenterView extends baseView {

        void setData(PersonalInfoBean bean);

        void onFail();
    }
    /**
     * 个人信息
     */
    public interface PersonalInfoView extends baseView {

        void setData(PersonalInfoBean bean);

        void onFail();

        void uploadPicSuccess();

        void ChooseSex(String seletedItem);

        void saveGenderSuccess(String gender);
    }
    /**
     * 我的消息
     */
    public interface MyNewsView extends baseView {

        void onFail();

        void onRefresh(MyNewsBean bean);

        void onLoadMore(MyNewsBean bean);
    }
    /**
     * 我的消息详情
     */
    public interface MyNewsDetailsView extends baseView {

    }
    /**
     * 修改密码
     */
    public interface ModifyPasswordView extends baseView {

        void modifySuccess();
    }
    /**
     * 找回密码
     */
    public interface ForgetPasswordView extends baseView {

        void CountDownTimerFinish();

        void CountDownTimerOnTick(long millisUntilFinished);

        void getCodeSuccess(IdCodeBean bean);

        void forgetPasswordSuccess();
    }
    /**
     * 最新动态
     */
    public interface NewsView extends baseView {

        void setData(GamCircleTypeBean bean);

        void onFail();
    }
    /**
     * 社交圈子
     */
    public interface GamCircleView extends baseView {

        void setData(GamCircleTypeBean bean);

        void onFail();
    }
    /**
     * 最新动态-fragment
     */
    public interface GamCircleFragmentView extends baseView {

        void onFail();

        void onRefresh(GamCircleListBean bean);

        void onLoadMore(GamCircleListBean bean);

        void likeSuccess(int positon);
    }
    /**
     * 我的发布-fragment
     */
    public interface MyReleaseFragmentView extends baseView {

        void onFail();

        void onRefresh(MyReleaseBean bean);

        void onLoadMore(MyReleaseBean bean);

        void likeSuccess(int positon);

        void deleteSuccess(int positon);
    }
    /**
     * 最新动态 - fragment
     */
    public interface NewsFragmentView extends baseView {

        void onFail();

        void onLoadMore(NewsListBean bean);

        void onRefresh(NewsListBean bean);
    }
    /**
     * 设置
     */
    public interface SetupView extends baseView {

    }
    /**
     * 长途汽车时刻表
     */
    public interface CoachTimetableView extends baseView {

        void setData(CarTimeListBean bean);

        void onFail();
    }

    /**
     * 汽车时刻表详情
     */
    public interface CoachDetailsView extends baseView {

        void setData(CarTimeInfoBean bean);

        void onFail();
    }
    /**
     * 修改昵称
     */
    public interface ModifyNameView extends baseView {

        void saveNickNameSuccess(String nickname);
    }
    /**
     * 发布帖子
     */
    public interface AddCircleView extends baseView {

        void selectType(GamCircleTypeBean.DataBean data);

        void submitSuccess();
    }
    /**
     * 圈子详情
     */
    public interface CircleDetailsView extends baseView {

        void setData(CircleDetailsBean bean);

        void onFail();

        void onRefresh(CirclCommentListBean bean);

        void onLoadMore(CirclCommentListBean bean);

        void likeSuccess();

        void CommentSuccess();

        void collectSuccess();
    }
    /**
     * 举报帖子
     */
    public interface CircleReportView extends baseView {

        void reportCircleSuccess();
    }
    /**
     * 选择新闻类型
     */
    public interface CheckNewsView extends baseView {

    }


    /**
     * 动态详情
     */
    public interface NewsDetailsView extends baseView {

        void setData(NewsInfoBean bean);

        void onFail();

        void collectSuccess();
    }
    /**
     * 他的圈子
     */
    public interface HisCircleView extends baseView {

        void onFail();

        void onRefresh(HisCircleBean bean);

        void onLoadMore(HisCircleBean bean);

        void likeSuccess(int positon);
    }
    /**
     * 精选商户
     */
    public interface SelectedMerchantsView extends baseView {

        void onFail();

        void onLoadMore(SelectedMerchantsBean bean);

        void onRefresh(SelectedMerchantsBean bean);
    }
    /**
     * 商户详情
     */
    public interface PeripheralDetailView extends baseView {
        void onFail();

        void setData(PeripheralDetailBean bean);

        void collectSuccess();
    }
    /**
     * 选择商户分类
     */
    public interface CheckPeripheralView extends baseView {

        void onFail();

        void setData(GamCircleTypeBean bean);
    }
    /**
     * 新闻搜索结果
     */
    public interface NewsSearchListView extends baseView {

        void onFail();

        void onRefresh(NewsListBean bean);

        void onLoadMore(NewsListBean bean);
    }
    /**
     * 新闻搜索结果
     */
    public interface PeripheralSearchListView extends baseView {

        void onFail();

        void onRefresh(SelectedMerchantsBean bean);

        void onLoadMore(SelectedMerchantsBean bean);
    }
    /**
     * 服务收藏
     */
    public interface PeripheralCollectView extends baseView {

        void onFail();

        void onRefresh(CollectBean bean);

        void onLoadMore(CollectBean bean);
    }
    /**
     * 动态收藏
     */
    public interface NewsCollectView extends baseView {

        void onFail();

        void onRefresh(CollectBean bean);

        void onLoadMore(CollectBean bean);
    }
    /**
     * 圈子收藏
     */
    public interface CircleCollectView extends baseView {

        void onFail();

        void onRefresh(CollectBean bean);

        void onLoadMore(CollectBean bean);
    }
    /**
     * 收藏
     */
    public interface CollectView extends baseView {

        void onFail();

        void onRefresh(CollectBean bean);

        void onLoadMore(CollectBean bean);

        void likeSuccess(int positon);

        void collectSuccess(int position);
    }

    /**
     * 常用地址
     */
    public interface AddressListView extends baseView {

        void onFail();

        void onRefresh(AddressListBean bean);

        void onLoadMore(AddressListBean bean);

        void deleteSuccess(int position);
    }
    /**
     * 添加常用地点
     */
    public interface AddAddressView extends baseView {
        void addSuccess();
    }
    /**
     * 关于我们
     */
    public interface AboutUsView extends baseView {
        void onFail();

        void openWeb(SiteInfoBean bean);
    }
    /**
     * 意见反馈
     */
    public interface FeedbackView extends baseView {

        void submitSuccess();
    }
}
